﻿Imports System.Reflection
Imports System.Reflection.Emit
Imports VBParser

Namespace Compiler.Semantic

    'Public Class DelegateDescription
    '    Inherits GenericTypeDescription

    '    Public Sub New(ByVal parent As NameContainer)
    '        MyBase.New(parent)

    '    End Sub

    '    Private m_signature As TypeDescription()
    '    Public Property Signature() As TypeDescription()
    '        Get
    '            Return m_signature
    '        End Get
    '        Set(ByVal value As TypeDescription())
    '            m_signature = value
    '        End Set
    '    End Property

    '    Private m_delegateSyntaxNode As DelegateDeclaration
    '    Public Overrides Property SyntaxNode() As VBParser.Tree
    '        Get
    '            Return m_delegateSyntaxNode
    '        End Get
    '        Set(ByVal value As VBParser.Tree)
    '            m_delegateSyntaxNode = TryCast(value, DelegateDeclaration)
    '        End Set
    '    End Property

    '    Private m_delegateBuilder As TypeBuilder
    '    Public Overrides Property UnderlyingType() As System.Type
    '        Get
    '            Return m_delegateBuilder
    '        End Get
    '        Set(ByVal value As System.Type)
    '            If Not TypeOf value Is TypeBuilder Then
    '                Throw New ArgumentOutOfRangeException("value", "The underlying type of a DelegateDescription must be TypeBuilder")
    '            End If
    '            m_delegateBuilder = TryCast(value, TypeBuilder)
    '        End Set
    '    End Property
    'End Class

End Namespace